from django.urls import reverse
from django.shortcuts import redirect


def add(request, pid):
    # 添加购物车操作
    # 从session中获取当前店铺中所有菜品信息，并从中获取要放入购物车的菜品
    product = request.session['productlist'][pid]
    product['num'] = 1
    # 从session中获取购物车信息
    cartlist = request.session.get('cartlist', {})
    # 判断当前购物车中是否存在放放进购物车的菜品
    if pid in cartlist:
        cartlist[pid]['num'] += 1  # 增加购买量
    else:
        cartlist[pid] = product  # 放进购物车
    # 将cartlist放入session
    request.session['cartlist'] = cartlist
    # 跳转到点餐首页
    return redirect(reverse('web_index'))


def delete(request, pid):
    # 删除购物车操作
    # 从session中获取购物车信息
    cartlist = request.session.get('cartlist', {})
    del cartlist[pid]
    # 将cartlist放入session
    request.session['cartlist'] = cartlist
    return redirect(reverse('web_index'))


def clear(request):
    # 清空购物车操作
    request.session['cartlist'] = {}
    return redirect(reverse('web_index'))


def change(request):
    # 购物车的更改
    # 从session中获取购物车信息
    cartlist = request.session.get('cartlist', {})
    pid = request.GET.get('pid', 0)
    m = int(request.GET.get('num', 1))
    if m < 1:
        m = 1
    cartlist[pid]['num'] = m
    request.session['cartlist'] = cartlist
    # 跳转到点餐首页
    return redirect(reverse('web_index'))
